package com.gt.service.user;

import com.gt.entity.user.User;

import java.util.HashMap;
import java.util.List;

/**
 * 用户业务接口
 * @author why
 */
public interface UserService {

	// Methods

   /**
	* 添加用户
	*  id 主键值
	*  userName 用户名称
	*  email 用户邮箱
	*  password 用户密码
	*  teamName 团队名称
	*  createTime 创建时间
	*  updateTime 修改时间
	*  lastLoginTime 最后登录时间
	*  state 用户状态1：启用  2：禁用
	* @return Long id 添加后的数据库主键值
	*/
	public Long add(User user);

   /**
	* 删除用户
	*  id 主键值
	*/
	public void delete(Long id);

   /**
	* 更新用户
	*  id 主键值
	*  userName 用户名称
	*  email 用户邮箱
	*  password 用户密码
	*  teamName 团队名称
	*  createTime 创建时间
	*  updateTime 修改时间
	*  lastLoginTime 最后登录时间
	*  state 用户状态1：启用  2：禁用
	*/
	public void edit(User user);

   /**
	* 主键查询用户
	*  id 主键值
	* @return User 实体
	*/
	public User queryById(Long id);

   /**
	* 根据条件查询用户列表
	*  id 主键值
	*  userName 用户名称
	*  email 用户邮箱
	*  password 用户密码
	*  teamName 团队名称
	*  createTime 创建时间
	*  updateTime 修改时间
	*  lastLoginTime 最后登录时间
	*  state 用户状态1：启用  2：禁用
	* @return List<User> 实体List
	*/
	public List<User> queryList(User user);

	/**
	 * 根据apikey获取用户信息
	 * @param apiKey
	 * @return
	 */
	public User querySelectUserByApikey(String apiKey);

}